/*
 * @Author: lzg
 * @Date: 2020-08-19 08:08:06
 * @LastEditTime: 2020-12-08 14:39:03
 * @LastEditors: Please set LastEditors
 * @Description: In User Settings Edit
 * @FilePath: \config\js\system.method.js
 */
//是否可以调用系统的方法
function isSystemMethodOk() {
    // return (typeof (window.external.JsInvoke) != "undefined");
    return (typeof SetTitle != "undefined");
}

///
///调用方法
///method:调用的方法名
///data:参数
///returnMethod:操作返回函数（如果发生异常会调用showException方法）
///
// function invokeSystemMethod(method,data,successMethod,errorMethod) {
//     if (isSystemMethodOk()) {
//         window.external.JsInvoke(method, data, successMethod,errorMethod);
//     } else if (typeof (console) != "undefined") {
//         console.log("Invoke failed:" + method);
//     }
// }

/**
 * @Description : 系统调用
 * @Note        : 防止方法不存在导致错误引起的程序不能运行
 * @param        {*} method 方法名
 * @param        {*} args 参数
 * @return       {*}
 */
function invokeSystemMethod(method, args) {
    try {
        //组合参数列表(arguments[1],arguments[2]...)
        let paramStr = "";
        for (let i = 1; i < arguments.length; i++) {
            if (i != 1) paramStr += ",";
            paramStr += "arguments[" + i + "]";
        }
        //调用系统方法
        eval(method + "(" + paramStr + ")");
    } catch (error) {
        console.error(error);
    }
}

///
///返回可以调用的方法
///
function showSystemMethod() {
    invokeSystemMethod("help");
}

//显示日志
function syslog(msg) {
    if (typeof (window.external.JsInvoke) != "undefined") {
        msg = "html:" + msg;
        invokeSystemMethod("Log", msg);
    } else if (typeof (console) != "undefined") {
        console.log(msg);
    }
}

//显示异常消息
function showException(data) {
    alert(data);
}

//日志显示
function log(data) {
    alert(data);
}

// var system = {
//     SetTile: SetTitle,
// }